perm filename TEST.XGP[IJ,DBL] blob sn#139546 filedate 1975-01-16 generic text, type T, neo UTF8
/LMAR=0/XLINE=14/FONT#0=BASL30[ IJ,DBL]/FONT#1=BASB30/FONT#2=NGR25/FONT#3=BASI30[ IJ,DBL]/FONT#4=NGR40/FONT#5=FIX25/FONT#6=NGR20/FONT#7=GRFX35[NUM,AJC]/TMAR=100/PMAR=2220/BMAR=100



␈↓"	␈↓ x␈↓␈α?␈α?␈α?␈α?␈α¬␈↓∧  BEINGS:  KNOWLEDGE AS INTERACTING EXPERTS␈↓





␈↓"	␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α≡␈↓↓Douglas B. Lenat
␈↓"	␈↓ x␈↓↓␈α?␈α?␈α?␈α?␈α?␈α?␈α+Stanford Artificial Intelligence Laboratory
␈↓"	␈↓ x␈↓↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αλStanford, California␈↓










␈↓"	␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α0␈↓∧␈↓&ABSTRACT␈↓)αβ␈↓

␈↓"%␈↓ x␈↓␈↓ ↓XKnowledge␈α
may␈αbe␈α
organized␈α
 as␈α a␈α
community␈α
 of␈α interacting␈α
 modules.␈α
Each␈αmodule␈α
is␈α
granted␈αa
␈↓ x␈↓complex␈αstructure,␈αto␈αsimulate␈αa␈αparticular␈αexpert␈αin␈α
some␈αsmall␈αdomain.␈α An␈αextended␈αanalogy␈αis␈αdrawn␈αto␈α
a
␈↓ x␈↓group␈α∞of␈α∞cooperating␈α∞human␈α∞specialists.␈α∞ Based␈α∞on␈α∞this,␈α∞an␈α∞internal␈α∞constraint␈α∞is␈α∞imposed␈α∞on␈α∂the␈α∞modules:
␈↓ x␈↓Their␈α∃structure␈α∀ must␈α∃be␈α∀ standard␈α∃ over␈α∀ the␈α∃ entire␈α∀community.␈α∃ Some␈α∀advantages␈α∃ of␈α∃ a␈α∀ uniform
␈↓ x␈↓formalism␈α
are␈α
thereby␈α
preserved.␈α
 An␈α
 experimental␈α
 community␈α
was␈α
implemented␈α
 for␈α
 the␈α
task␈α
domain␈αof
␈↓ x␈↓automatic␈α⊗programming.␈α⊗ It␈α⊗has␈α⊗managed␈α⊗to␈α⊗synthesize␈α⊗a␈α⊗few␈α⊗inductive␈α⊗inference␈α⊗ LISP␈α⊗ programs,
␈↓ x␈↓nonformally,  from  specific  restricted dialogues with a human user.
␈↓ x␈↓␈α?␈α?␈α?␈α?␈α¬␈↓∧  BEINGS:  KNOWLEDGE AS INTERACTING EXPERTS␈↓

␈↓"	␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α≡␈↓↓Douglas B. Lenat
␈↓"	␈↓ x␈↓↓␈α?␈α?␈α?␈α?␈α?␈α?␈α+Stanford Artificial Intelligence Laboratory
␈↓"	␈↓ x␈↓↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈αλStanford, California␈↓
␈↓"	
␈↓"	␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α>␈↓∧␈↓&5. The parts of a BEING␈↓)αβ␈↓
␈↓"%␈↓ x␈↓␈↓ ↓XA␈αset␈α
of␈α29␈αubiquitous␈α
questions␈αwere␈αchosen,␈α
representing␈αeverything␈αone␈α
expert␈αmight␈αwant␈α
to␈αask
␈↓ x␈↓another.␈αAt␈αleast,␈α
they␈αnaturally␈αencompass␈α
those␈αquestions␈αwhich␈αwere␈α
asked␈αduring␈αthe␈α
simulated␈αmeeting,
␈↓ x␈↓hence␈α∞should␈α∂be␈α∞sufficient␈α∞for␈α∂generating␈α∞CF.␈α∞ Q,␈α∂this␈α∞universal␈α∞set␈α∂of␈α∞BEING␈α∞parts,␈α∂is␈α∞listed␈α∞in␈α∂the␈α∞box
␈↓ x␈↓below.  The percentage of the experimental pool  of BEINGs which actually needed each part is also noted.

␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π⊂ααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααα⊃␈↓α
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α                                           ␈↓↓␈↓&BEING Parts␈↓)αβ␈↓α
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓WHAT␈↓α 82%  A brief summary of the global purpose, a template for an English phrase.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓WHY␈↓α 77%  A justification of the BEING's existence, partly filled in by the BEING who called it.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓HOW␈↓α 72%  A summary of the methods the BEING intends to employ. Global strategies.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓IDEN␈↓α 54%  How this BEING is referenced in English phrases. Implemented as productions.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓WHEN␈↓α 19%  Why this BEING should be given control now. The sum of weighted factors.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓ARGS␈↓α 63%  Number of arguments; which are optional; names of any local variables.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓ARG-CHECK␈↓α 81%  Predicates which examine each argument for suitability.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓EVAL-ARGS␈↓α  4%  Which arguments are to be evaluated, and which quoted.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓REQUISITES␈↓α 10%  If this BEING is actually chosen, what must be made true prior to (pre)
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α           during (co), and after (post) execution.  Work to make these true (unlike ARG-CHECK).
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓DEMONS␈↓α 7%  Set of demons to be kept active while the BEING is in control.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓INHIBIT-DEMONS␈↓α  5%  A lock/unlock mechanism, useful when handling demonic interrupts.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓EFFECTS␈↓α 27%  What will probably be true after this BEING is through. What it achieves.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓RESULTS␈↓α 15%  How many values this returns. What domain each is in. Side effects.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓META-CODE␈↓α 70%  The body of the executable code, but with uninstantiated subparts.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓COMMENTS␈↓α 16%  Hints for filling in undefined sections of other BEING parts.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓STRUCTURE␈↓α 4% Viewing this BEING as a data structure, the operations doable to it.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓AFFECTS␈↓α 14%  Other BEINGs which might be called by this BEING, and why.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓COMPLEXITY␈↓α 92%  A vector of utility measures, including probable ease of calling,
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α           success, (calling)* itself, time/space cost, efficiency of its output resul8ts.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓GENERALIZATIONS␈↓α 27%  Some other BEINGs, encompassing this one.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓ALTERNATIVES␈↓α 16%  Some equivalent BEINGs (to try if this one fails).
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓SPECIALIZATIONS␈↓α 40%  How to write a streamlined, special-case version of this BEING.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π~␈↓α␈↓↓ENCODABLE␈↓α 9%  How to order the evaluation of the other parts for self-streamlining.
␈↓"␈↓ x␈↓α␈↓ ↓_␈↓π%ααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααα$␈↓α
␈↓"%␈↓ x␈↓␈↓ ↓XEach␈αof␈αthe␈α100␈αBEINGs␈αin␈αPUP6␈αshould␈αhave␈αhad␈αa␈αvalue␈αfor␈αeach␈αpart␈α(in␈αreality,␈αonly␈α40%␈αwere
␈↓ x␈↓filled␈α∞in;␈α∞only␈α∂30%␈α∞were␈α∞actually␈α∞necessary␈α∂to␈α∞generate␈α∞CF).␈α∞A␈α∂value␈α∞for␈α∞a␈α∞part␈α∂is␈α∞simply␈α∞a␈α∂LISP␈α∞program
␈↓ x␈↓which␈α
can␈αanswer␈α
that␈αquestion,␈α
often␈αby␈α
asking␈αquestions␈α
of␈α
the␈αsame␈α
BEING,␈αof␈α
other␈αBEINGs,␈α
and␈αof␈α
the
␈↓ x␈↓user.␈α
A␈α
part␈α
may␈α
also␈α
assert␈α
some␈α
fact,␈α
create␈α
or␈α
modify␈α
some␈α
structure␈α
(including␈α
demons,␈α
BEINGs,␈αand␈α
parts
␈↓ x␈↓of␈α∂BEINGs).␈α∂ Appendix␈α∂1␈α∂shows␈α∂the␈α∂values␈α∂stored␈α∂under␈α∂each␈α∂part␈α∂for␈α∂a␈α∂typical␈α∂BEING.␈α∂The␈α⊂reader␈α∂is
␈↓ x␈↓invited to glance over this table now.
␈↓"%␈↓ x␈↓␈↓ ↓XThe␈α
set␈α
of␈α
parts␈α
breaks␈α
into␈α
three␈α
rough␈α
categories:␈α
those␈α
parts␈α
which␈α
are␈α
useful␈α
in␈α
deciding␈αwhich
␈↓ x␈↓BEING␈αgets␈αcontrol,␈αthose␈αuseful␈αonly␈αto␈αanswer␈αthe␈αuser's␈αquestions␈αand␈αkeep␈αhim␈αoriented,␈αand␈αthose␈αused
␈↓"∧␈↓ x␈↓once the BEING gains control.  Each of these three groups of parts will be described.␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε1␈↓␈↓ λ
␈↓"%␈↓ x␈↓␈↓↓␈↓&5.1. When a BEING Gains Control␈↓)αβ␈↓
␈↓"%␈↓ x␈↓␈↓ ↓XAt␈α⊃the␈α⊃humans'␈α⊂meeting,␈α⊃only␈α⊃one␈α⊂expert␈α⊃spoke␈α⊃at␈α⊂a␈α⊃time;␈α⊃in␈α⊂the␈α⊃BEINGs␈α⊃community,␈α⊃only␈α⊂one
␈↓ x␈↓BEING␈α∞has␈α∞control␈α∞at␈α∞any␈α∞given␈α∞moment.␈α∞He␈α∞uses␈α∞his␈α∞parts␈α∞to␈α∞do␈α∞things␈α∞(ask,␈α∞create,␈α∞modify),␈α∞and␈α∞yields
␈↓ x␈↓control either voluntarily or through interruption.
␈↓"%␈↓ x␈↓␈↓ ↓XIn␈α
slightly␈α
more␈α
procedural␈α
terms,␈α
the␈α
scenario␈α
is␈α
as␈α
follows.␈α
One␈α
part␈α
of␈α
a␈α
BEING␈α
senses␈α
its␈α
relevance
␈↓ x␈↓(often␈α
the␈αIDEN␈α
or␈α
EFFECTS␈αparts,␈α
which␈α
are␈αunited␈α
with␈α
all␈αsuch␈α
parts␈α
to␈αform␈α
a␈α
large␈αproduction␈α
system).
␈↓ x␈↓If␈α∃more␈α∃than␈α∃one␈α∃BEING␈α∀wants␈α∃control␈α∃at␈α∃any␈α∃time,␈α∀a␈α∃special␈α∃BEING,␈α∃CHOOSER,␈α∃seizes␈α∀control
␈↓ x␈↓momentarily.␈αHe␈α
asks␈αeach␈α
competing␈αBEING␈α
to␈αevaluate␈αits␈α
WHEN␈αpart,␈α
to␈αsee␈α
how␈αseriously␈α
it␈αneeds␈αto␈α
go
␈↓ x␈↓immediately.␈α
If␈α∞some␈α
BEINGs␈α
are␈α∞still␈α
tied␈α∞for␈α
first␈α
place,␈α∞he␈α
asks␈α
them␈α∞to␈α
evaluate␈α∞their␈α
COMPLEXITY
␈↓ x␈↓parts,␈αto␈αsee␈αwhich␈αis␈αthe␈α
simplest.␈αIf␈αany␈α␈↓βstill␈↓␈αtie␈αfor␈αtop,␈α
one␈αis␈αrandomly␈αchosen.␈αIn␈αany␈αcase,the␈α
winner␈αis
␈↓ x␈↓then␈αpassed␈αcontrol.␈αOnce␈αin␈αcontrol,␈αa␈αBEING␈αarranges␈αsome␈αof␈αits␈αparts␈αin␈αsome␈αorder␈αand␈αevaluates␈αthem.
␈↓ x␈↓For␈α
example,␈α
the␈α
ARGS␈αpart␈α
might␈α
be␈α
first;␈α
if␈αit␈α
asks␈α
for␈α
some␈αarguments␈α
which␈α
no␈α
BEING␈α
has␈αsupplied,
␈↓ x␈↓then␈α
the␈αwhole␈α
BEING␈αmight␈α
decide␈α
to␈αfail.␈α
Some␈α parts,␈α
when␈α
evaluated,␈αmight␈α
create␈αa␈α
new␈αBEING,␈α
might
␈↓ x␈↓ask␈α∀questions␈α∀which␈α∪require␈α∀this␈α∀whole␈α∀process␈α∪to␈α∀repeat␈α∀recursively,␈α∪etc.␈α∀This␈α∀"asking"␈α∀really␈α∪means
␈↓ x␈↓broadcasting␈α∂a␈α∂request␈α∞to␈α∂one␈α∂or␈α∂two␈α∞parts␈α∂of␈α∂every␈α∂BEING;␈α∞for␈α∂example␈α∂"Is␈α∂there␈α∞a␈α∂known␈α∂fast␈α∂way␈α∞of
␈↓ x␈↓gronking␈α∂toves?"␈α∂would␈α∂be␈α∂asked␈α∂as␈α∂a␈α∂search␈α∂for␈α∂a␈α∂BEING␈α∂whose␈α∂COMPLEXITY␈α∂indicated␈α∂speed,␈α∂and
␈↓ x␈↓whose␈α⊂EFFECTS␈α∂part␈α⊂contained␈α∂a␈α⊂production␈α∂with␈α⊂a␈α∂template␈α⊂matching␈α∂"gronking␈α⊂toves".␈α∂ A␈α⊂list␈α⊂of␈α∂the
␈↓ x␈↓responders␈αwould␈αbe␈αreturned.␈α(Incidentally,␈αGERUND␈αwould␈αrecognize␈αthis,␈αbut␈αlater␈αgive␈αup␈αwhen␈αno␈αone
␈↓ x␈↓could␈α∂recognize␈α∂"gronk␈α∂toves".)␈α∂The␈α∂questioner␈α∂might␈α∞pose␈α∂some␈α∂new␈α∂questions␈α∂directly␈α∂to␈α∂these␈α∞BEINGs,
␈↓ x␈↓might␈α
turn␈α
control␈α
over␈α
to␈α
them␈α
directly,␈αetc.␈α
One␈α
way␈α
or␈α
another,␈α
the␈α
BEING␈α
eventually␈αrelinquishes␈α
control.
␈↓ x␈↓If␈αit␈αhad␈αno␈αdirect␈α
successor␈αin␈αmind,␈αall␈αthe␈α
BEINGs␈αare␈αasked␈αif␈αthey␈α
want␈αto␈αtake␈αover.␈α There␈αwill␈α
always
␈↓ x␈↓be␈α⊂␈↓βsome␈↓␈α∂BEING␈α⊂who␈α∂will␈α⊂take␈α∂over;␈α⊂the␈α∂general␈α⊂management␈α∂types␈α⊂of␈α∂BEINGs␈α⊂are␈α∂always␈α⊂able␈α⊂ --␈α∂but
␈↓ x␈↓reluctant  -- to do so.
␈↓"%␈↓ x␈↓␈↓ ↓XHow␈α∞does␈α∞each␈α∞BEING␈α∞decide␈α∞which␈α∞parts␈α∞to␈α∞evaluate,␈α∞and␈α∞in␈α∞which␈α∞order,␈α∞once␈α∞it␈α∞gains␈α
control?
␈↓ x␈↓The␈α∂answer␈α∂might␈α∂seem␈α∂to␈α∂be␈α∂difficult␈α∂or␈α∂tedious␈α∂for␈α∂whoever␈α∂writes␈α∂BEINGs,␈α∂since␈α∂it␈α∂might␈α∂vary␈α∂from
␈↓ x␈↓BEING␈αto␈αBEING.␈α
In␈αfact,␈αit␈αdoesn't!␈α
 The␈αcommitment␈αto␈α
a␈αuniversal␈αset␈αof␈α
BEING␈αparts␈αis␈α
inefficient␈αin
␈↓ x␈↓some␈αways␈α(each␈αBEING␈α␈↓βneeded␈↓␈αonly␈αa␈αthird␈αof␈αall␈αthe␈αparts)␈αbut␈αallows␈αfor␈αsome␈αsimplifications␈αright␈αhere.
␈↓ x␈↓What␈α
parts␈α
should␈α
be␈α
evaluated,␈α
and␈α
in␈α
what␈α
order,␈α
when␈α
a␈α
BEING␈α
gains␈α
control?␈α
This␈α
decision␈α
depends
␈↓ x␈↓primarily␈αon␈αthe␈α␈↓βtypes␈↓␈αof␈αparts␈αpresent␈αin␈αthe␈αBEING,␈αnot␈αon␈αtheir␈α␈↓βvalues␈↓.␈α But␈αevery␈αBEING␈αhas␈αthe␈αsame
␈↓ x␈↓anatomy,␈α∪so␈α∩one␈α∪single␈α∩algorithm␈α∪can␈α∩assemble␈α∪any␈α∩BEING's␈α∪parts␈α∩into␈α∪an␈α∩executable␈α∪LISP␈α∩function.
␈↓ x␈↓Moreover,␈αthis␈αassemby␈αcan␈αbe␈αdone␈α
when␈αthe␈αsystem␈αis␈αfirst␈αloaded␈α
(or␈αwhen␈αa␈αnew␈αBEING␈αis␈αfirst␈α
created),
␈↓ x␈↓and␈αneed␈αonly␈αbe␈αredone␈αfor␈αa␈αBEING␈αwhen␈α
the␈αvalues␈αof␈αits␈αparts␈αchange.␈αSuch␈αchanges␈αare␈α
rare:␈αexperts
␈↓ x␈↓are␈α⊂not␈α⊂often␈α⊂open-minded.␈α⊂The␈α⊂precise␈α⊂algorithm␈α⊃is␈α⊂sketched␈α⊂in␈α⊂the␈α⊂box␈α⊂below.␈α⊂The␈α⊂parts␈α⊃useful␈α⊂here
␈↓ x␈↓include ARGS, DEMONS, META-CODE, COMMENTS, ARG-CHECK, and REQUISITES.
␈↓"
␈↓"∧␈↓ x␈↓α␈↓π⊂αααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααα⊃␈↓α
␈↓"	␈↓ x␈↓α␈↓ ↓_␈α?␈α?␈α?␈α9␈↓↓␈↓&Algorithm for assembling a BEING into an executable function␈↓)αβ␈↓α
␈↓"␈↓ x␈↓α␈↓ ↓xWhen␈αa␈α
BEING␈α␈↓βB␈↓α␈α
first␈αgains␈α
control,␈αits␈α
EXPLICIT-ARGS␈αare␈α
bound.␈αThe␈α
IMPLICIT-ARGS␈αare␈α
initialized,
␈↓"∧␈↓ x␈↓α␈↓ ↓_the␈αname␈α␈↓βB␈↓α␈αis␈αpushed␈αonto␈αthe␈αBEING␈α
control␈αstack,␈αand␈αany␈αnewly-activated␈αDEMONS␈αare␈αso␈α
tagged.␈αThe
␈↓"∧␈↓ x␈↓α␈↓ ↓_BEING␈αwho␈αcalled␈α␈↓βB␈↓α␈αshould␈αhave␈αexplained␈αhis␈αreasons␈αby␈αassigning␈αsome␈αphrase␈αto␈αthe␈αvariable␈αBECAUSE.
␈↓"∧␈↓ x␈↓α␈↓ ↓_This␈αreason␈αis␈α
now␈αstored␈αas␈α
a␈αspecial␈αsub-part␈α
of␈αthe␈αWHY␈α
part␈αof␈α␈↓βB␈↓α.␈α
 BECAUSE␈αis␈αrebound␈αperiodically␈α
in
␈↓"∧␈↓ x␈↓α␈↓ ↓_the␈α∞META-CODE␈α∞and␈α∞COMMENTS␈α∞parts,␈α∂to␈α∞keep␈α∞current␈α∞the␈α∞explanation␈α∂of␈α∞each␈α∞call␈α∞that␈α∞␈↓βB␈↓α␈α∂makes.␈α∞Each
␈↓"∧␈↓ x␈↓α␈↓ ↓_ARG-CHECK␈α
predicate␈α
is␈αevaluated.␈α
If␈α
any␈α
returns␈αNIL,␈α
the␈α
entire␈α
BEING␈αreports␈α
that␈α
it␈α
has␈αfailed;␈α
otherwise,
␈↓"∧␈↓ x␈↓α␈↓ ↓_the␈α
PRE-REQUISITES␈α
are␈α
examined.␈α
Effort␈α
is␈α
expended␈α
to␈α
make␈α
them␈α
true,␈α
if␈α
they␈α
are␈α
currently␈αnot␈α
satisfied.
␈↓"∧␈↓ x␈↓α␈↓ ↓_Each␈α
COMMENT␈αis␈α
evaluated,␈αthen␈α
the␈αCO-REQUISITES,␈α
META-CODE,␈α
and␈αthe␈α
current␈αdemons␈α
are␈αexecuted␈α
in
␈↓"∧␈↓ x␈↓α␈↓ ↓_pseudo-parallel.␈α∂ Each␈α∂POST-REQUISITE␈α∂is␈α∂then␈α∂examined,␈α⊂and␈α∂an␈α∂effort␈α∂made␈α∂to␈α∂satisfy␈α∂it.␈α⊂ The␈α∂newly-
␈↓"∧␈↓ x␈↓α␈↓ ↓_activated␈αdemons␈αare␈αexorcized,␈α␈↓βB␈↓α␈αis␈αpopped␈αfrom␈αthe␈αBEING␈αcontrol␈αstack,␈αand␈αthe␈αvalue␈αcomputed␈αby␈αthe
␈↓"∧␈↓ x␈↓α␈↓ ↓_META-CODE is returned.
␈↓"␈↓ x␈↓α␈↓ ↓xSome␈αheuristics␈α
were␈αdevised␈α
to␈αtake␈α
advantage␈αof␈αthe␈α
fact␈αthat␈α
the␈αBEINGs␈α
often␈αdidn't␈αneed␈α
many
␈↓"∧␈↓ x␈↓α␈↓ ↓_of␈α∞the␈α∂standard␈α∞parts.␈α∞For␈α∂example,␈α∞INFO-OBTAINER␈α∞has␈α∂no␈α∞new␈α∞demons␈α∂or␈α∞co-requisites,␈α∞so␈α∂no␈α∞parallel
␈↓"∧␈↓ x␈↓α␈↓ ↓_processing␈α∞need␈α∞be␈α∞simulated.␈α∂ No␈α∞results␈α∞are␈α∞explicitly␈α∞produced,␈α∂so␈α∞the␈α∞value␈α∞returned␈α∞by␈α∂the␈α∞META-
␈↓"∧␈↓ x␈↓α␈↓ ↓_CODE␈α⊂is␈α∂not␈α⊂saved␈α⊂and␈α∂later␈α⊂returned.␈α⊂ Here␈α∂is␈α⊂the␈α∂way␈α⊂that␈α⊂BEING␈α∂actually␈α⊂appeared␈α⊂after␈α∂assembly;
␈↓"∧␈↓ x␈↓α␈↓ ↓_contrast␈αthis␈αwith␈αthe␈αvalues␈αof␈αits␈αparts,␈αas␈αpresented␈αin␈αAppendix␈α1.␈α Notice␈αthat␈αBECAUSE␈αis␈αset␈αto␈αthe
␈↓"∧␈↓ x␈↓α␈↓ ↓_reason that CHOOSE-FROM is called.

␈↓"¬␈↓ x␈↓α␈↓ ↓X(INFO-OBTAINER
␈↓"¬␈↓ x␈↓α␈↓ ↓X   (LAMBDA  (U)
␈↓"¬␈↓ x␈↓α␈↓ ↓X        (AND
␈↓"¬␈↓ x␈↓α␈↓ ↓X           (PUSH  INFO-OBTAINER  BEING-STACK)
␈↓"¬␈↓ x␈↓α␈↓ ↓X           (PUT-APPEND  INFO-OBTAINER  WHY  BECAUSE)
␈↓"¬␈↓ x␈↓α␈↓ ↓X           (EVERY  CURRENT-DEMONS  APPLY*)
␈↓"¬␈↓ x␈↓α␈↓ ↓X           (SETQQ BECAUSE (WE CAN ONLY TRY TO OBTAIN USABLE INFO IN ONE WAY AT A TIME))
␈↓"∧␈↓ x␈↓α␈↓ ↓X           (CHOOSE-FROM␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε2␈↓␈↓ λ
␈↓"¬␈↓ x␈↓α␈↓ ↓X                     (GET-NEW-INFORMATION U)
␈↓"¬␈↓ x␈↓α␈↓ ↓X                     (TRANSLATE U)
␈↓"¬␈↓ x␈↓α␈↓ ↓X                     (ANALYZE-IMPLICATIONS U)
␈↓"¬␈↓ x␈↓α␈↓ ↓X                     (EXTRACT-RELEVANT-SUBSET U))
␈↓"¬␈↓ x␈↓α␈↓ ↓X           (POP   BEING-STACK))))
␈↓"∧␈↓ x␈↓α␈↓π%αααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααααα$␈↓α
␈↓"%␈↓ x␈↓␈↓↓␈↓&5.2. Keeping the User Informed␈↓)αβ␈↓
␈↓"%␈↓ x␈↓␈↓ ↓XIn␈α~the␈α~earlier␈α→conversation␈α~excerpts,␈α~the␈α→simulated␈α~human␈α~user␈α→had␈α~no␈α~trouble␈α→whatever
␈↓ x␈↓understanding␈α
what␈α
the␈α
simulated␈α∞experts␈α
asked␈α
him.␈α
In␈α
the␈α∞actual␈α
programmed␈α
PUP6␈α
system,␈α∞the␈α
human
␈↓ x␈↓who␈αwas␈αsitting␈αat␈αthe␈αteletype␈αquite␈α␈↓βrarely␈↓␈αunderstood␈αwhat␈αwas␈αwanted␈αby␈αthe␈αBEINGs.␈αHe␈αfrequently␈αhad
␈↓ x␈↓to␈α
interrupt␈α
them␈α
and␈α
ask␈α
them␈α
questions␈α
about␈α
who␈αwas␈α
in␈α
control,␈α
why,␈α
what␈α
he␈α
was␈α
trying␈α
to␈α
do,␈αwhat␈α
had
␈↓ x␈↓recently␈α∞transpired,␈α∂etc.␈α∞These␈α∂ideally␈α∞can␈α∞be␈α∂phrased␈α∞as␈α∂simple␈α∞retrievals␈α∞and␈α∂EVALs␈α∞of␈α∂active␈α∞BEINGs'
␈↓ x␈↓parts.␈α
 The␈α
BEING␈α
parts␈α
most␈α∞often␈α
called␈α
for␈α
by␈α
the␈α∞user␈α
are␈α
the␈α
simple␈α
one-line␈α∞"orientation"␈α
templates.
␈↓ x␈↓These␈α⊗include␈α↔WHAT,␈α⊗HOW,␈α⊗WHY,␈α↔and␈α⊗AFFECTS.␈α⊗ For␈α↔theoretical␈α⊗reasons␈α⊗explained␈α↔later,␈α⊗the
␈↓ x␈↓synthesized␈α∂program,␈α∞CF,␈α∂was␈α∂writen␈α∞as␈α∂a␈α∂pool␈α∞of␈α∂BEINGs␈α∂itself␈α∞(by␈α∂PUP6,␈α∂but␈α∞not␈α∂during␈α∂the␈α∞protocol.
␈↓ x␈↓Actually,␈α⊃a␈α⊃fortuitous␈α⊃"bug"␈α⊂in␈α⊃PUP6␈α⊃created␈α⊃this␈α⊂intriguing␈α⊃situation.)␈α⊃Although␈α⊃its␈α⊂question-answering
␈↓ x␈↓ability␈αis␈αinferior␈αto␈αPUP6,␈αthe␈αfact␈αthat␈αit␈αhas␈α␈↓βany␈↓␈αsuch␈αpower␈αwas␈αsurprising␈αto␈αthe␈αauthor.␈αIn␈αother␈αwords,
␈↓ x␈↓one␈α
can␈α
interrupt␈α
the␈α
target␈α
program␈α
as␈α
it␈α
is␈α
running␈α
and␈α
ask␈α
questions.␈α
Any␈α
BEING␈α
on␈α
the␈α
control␈α
stack␈α
will
␈↓ x␈↓provide␈α
fully␈αinstantiated␈α
answers␈α
to␈αany␈α
of␈α
its␈α29␈α
allowable␈α
queries␈α(its␈α
parts);␈α
all␈αother␈α
BEINGs␈αwill␈α
provide
␈↓ x␈↓only␈α∞hypothetical␈α
answers.␈α∞As␈α
an␈α∞example,␈α
consider␈α∞this␈α
actual␈α∞excerpt␈α
of␈α∞a␈α
human␈α∞using␈α
the␈α∞CF␈α
program
␈↓ x␈↓synthesized␈αby␈αPUP6.␈α (Some␈αliberty␈αhas␈αbeen␈αtaken␈αwith␈αthe␈αEnglish;␈αe.g.,␈αthe␈αuser␈αreally␈αtypes␈α␈↓βWHAT?␈↓,␈αnot
␈↓ x␈↓␈↓βWhat␈αare␈αyou␈αdoing?␈↓)␈α"???"␈αsimply␈αmeans␈α"guess␈αthe␈αname␈αof␈αthe␈αscene␈αwith␈αthese␈αobjects␈αand␈αrelations".␈α CF
␈↓ x␈↓types in boldface, the user in italics.





































␈↓"∧␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε3␈↓␈↓ λ
␈↓ x␈↓↓READY TO ACCEPT BRAND NEW SCENE:   ␈↓β(??? (A B) (Block A) (Green B) (Touches A B))␈↓↓
␈↓"	␈↓ x␈↓↓NOT AN ARCH. NOT A TOWER. MIGHT BE A ROW.  MY GUESS IS ROW.
␈↓"	␈↓ x␈↓↓WHAT IS IT REALLY?                 ␈↓βNothing␈↓↓
␈↓"	␈↓ x␈↓↓TRANSFER FROM MAY TO MUST SETS OF ROW: (TOUCH A B)
␈↓"	␈↓ x␈↓↓READY TO ACCEPT BRAND NEW SCENE:
␈↓"%␈↓ x␈↓␈↓ ↓XHere␈α∃is␈α⊗the␈α∃␈↓βsame␈↓␈α∃excerpt,␈α⊗but␈α∃with␈α∃the␈α⊗user␈α∃interrupting␈α∃occasionally.␈α⊗ "␈↓βU:␈↓"␈α∃signifies␈α⊗he␈α∃has
␈↓ x␈↓interrupted, and "␈↓βOK.␈↓" signifies he has told CF "␈↓βOK, go back to work now.␈↓"

␈↓"	␈↓ x␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ x␈↓↓CF:  Divide a domain into subdomains, using specialized version of PARTITION-DOMAIN.
␈↓"	␈↓ x␈↓↓        ␈↓βHow?␈↓↓
␈↓"	␈↓ x␈↓↓CF:  By building up the partition gradually, by adding one <scene, name> pair.    ␈↓βOK.␈↓↓
␈↓"∃␈↓ x␈↓↓READY TO ACCEPT BRAND NEW SCENE:   ␈↓β(??? (A B) (Block A) (Green B) (Touches A B))␈↓↓
␈↓"∃␈↓ x␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ x␈↓↓CF:  Break OBJECTS piece off (??? (A B) (BLOCK A) (GREEN B) (TOUCHES A B)) to examine.
␈↓"	␈↓ x␈↓↓        ␈↓βWhat code is the current BEING going to execute?␈↓↓
␈↓"	␈↓ x␈↓↓CF:  The meta-code of SOME-PART-OF␈↓#v1␈↓#␈↓#v4␈↓# is (CADR arg1). Evals to (A B).    ␈↓βOK.␈↓↓
␈↓"∃␈↓ x␈↓↓NOT AN ARCH.
␈↓"	␈↓ x␈↓↓        ␈↓βU:  Why?␈↓↓
␈↓"	␈↓ x␈↓↓CF: The ARCH MUST-relation (SUPPORTS A B) is contradicted in the SCENE.    ␈↓βOK.␈↓↓
␈↓"∃␈↓ x␈↓↓NOT A TOWER. MIGHT BE A ROW.  MY GUESS IS ROW.
␈↓"	␈↓ x␈↓↓WHAT IS IT REALLY?                 ␈↓βU:  Why are you asking?␈↓↓
␈↓"	␈↓ x␈↓↓CF: CF cannot resolve it, and must at this time, so CF asks USER
␈↓"	␈↓ x␈↓↓        ␈↓βOK. What you wanted is:   Nothing␈↓↓
␈↓"∃␈↓ x␈↓↓        ␈↓βU:  What are you doing?␈↓↓
␈↓"	␈↓ x␈↓↓CF: Go through space of concept names, and make user aware of changes.
␈↓"	␈↓ x␈↓↓        ␈↓βWhat BEINGs might this affect?␈↓↓
␈↓"	␈↓ x␈↓↓CF: MESSAGE is possibly called; some version of TEST is possibly called.     ␈↓βOK.␈↓↓
␈↓"∃␈↓ x␈↓↓TRANSFER FROM MAY TO MUST SETS OF ROW: (TOUCH A B)
␈↓"	␈↓ x␈↓↓        ␈↓βU:  Why?␈↓↓
␈↓"	␈↓ x␈↓↓CF: Change model of ROW until it contradicts the previous SCENE.           ␈↓βOK.␈↓↓
␈↓"∃␈↓ x␈↓↓READY TO ACCEPT BRAND NEW SCENE:

␈↓"%␈↓ x␈↓␈↓↓␈↓&5.3. Passing Control in the System␈↓)αβ␈↓
␈↓"%␈↓ x␈↓␈↓ ↓XRather␈α⊃than␈α⊃delve␈α⊃into␈α⊃detailed␈α⊃discussions␈α∩about␈α⊃each␈α⊃BEING␈α⊃part␈α⊃which␈α⊃is␈α⊃useful␈α∩in␈α⊃passing
␈↓ x␈↓control,␈αanother␈αconversation␈αexample␈αwill␈αbe␈αpresented,␈αannotated␈αas␈αto␈αwhy␈αeach␈αBEING␈αwas␈αable␈αto␈αgain
␈↓ x␈↓control␈α∂just␈α∂when␈α∂it␈α∂did.␈α∂ The␈α∂BEINGs␈α∂in␈α∂PUP6␈α∂have␈α∂the␈α∂same␈α∂names,␈α∂and␈α∂carry␈α∂on␈α∂the␈α∂same␈α∂kind␈α∂of
␈↓ x␈↓discussion,␈α
as␈α
our␈αearlier␈α
experts␈α
do.␈α Below,␈α
they␈α
work␈α
together␈αto␈α
create␈α
the␈αidea␈α
of␈α
structuring␈αCF's␈α
internal
␈↓ x␈↓models'␈α
features␈α
into␈α
three␈α
disjoint␈α
sets:␈α
MUSTNOT,␈α∞MUST,␈α
and␈α
MAY.␈α
 After␈α
each␈α
speaker's␈α
name␈α∞is,␈α
in
␈↓ x␈↓brackets,␈α
a␈αbrief␈α
sketch␈αof␈α
the␈αparts␈α
involved␈αin␈α
this␈αparticular␈α
interaction.␈αThese␈α
parts␈αare␈α
typically␈αIDEN,
␈↓ x␈↓WHEN,␈α∂COMPLEXITY,␈α∂EFFECTS,␈α∂and␈α⊂DEMONS.␈α∂It␈α∂is␈α∂advised␈α∂that␈α⊂the␈α∂excerpt␈α∂be␈α∂read␈α⊂twice:␈α∂once,
␈↓ x␈↓ignoring␈α∀the␈α∀information␈α∀in␈α∀the␈α∀brackets,␈α∀[...],␈α∀to␈α∀understand␈α∀␈↓βwhat␈α∀the␈α∀BEINGs␈α∀are␈α∀saying␈↓␈α∃(how␈α∀the
␈↓ x␈↓MUST/MUSTNOT/MAY idea evolves), and once to attain a feel for how the control-passing parts work.
␈↓"%␈↓ x␈↓␈↓ ↓XAssume␈α
the␈α
"meeting"␈α
of␈α
BEINGs␈αhas␈α
progressed␈α
to␈α
the␈α
stage␈αwhere␈α
they␈α
know␈α
that␈α
CF␈αmust␈α
compare
␈↓ x␈↓the␈α
inputted␈α
scene␈αagainst␈α
internally␈α
stored␈αmodels␈α
of␈α
named␈αscenes.␈α
 When␈α
a␈αmodel␈α
is␈α
found␈α
which␈αpasses
␈↓ x␈↓that␈αcomparison,␈αits␈αname␈αis␈αreported␈αas␈αCF's␈αguess␈αfor␈αthe␈αscene.␈αA␈αpredicate,␈αa␈αtest,␈αis␈αdesired.␈αThe␈αexperts
␈↓ x␈↓ask each other and the user ␈↓βHow do we know when a model has passed or failed the test?␈↓
␈↓"∃␈↓ x␈↓INFO-OBTAINER:␈α∞[␈↓¬Final␈α∂course␈α∞of␈α∂action␈α∞in␈α∞META-CODE␈α∂part.␈↓]␈α∞I␈α∂am␈α∞going␈α∞to␈α∂consult␈α∞the␈α∂user␈α∞on
␈↓"	␈↓ x␈↓this matter. Someone take this message, please.
␈↓"∧␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε4␈↓␈↓ λ
␈↓ x␈↓MESSENGER:␈α∂[␈↓¬IDEN␈α∂part␈α∂recognizes␈α∂relevance;␈α∞META-CODE␈α∂part␈α∂types␈α∂on␈α∂teletype.␈↓]␈α∂ User,␈α∞how
␈↓"	␈↓ x␈↓do we know whether the model we're examining is suitable?
␈↓"∃␈↓ x␈↓USER: Fail if any feature of the model is in contradiction to the features of the scene.
␈↓"∃␈↓ x␈↓LOOP:␈α⊗[␈↓¬The␈α∃IDEN␈α⊗part␈α⊗template␈α∃"←act␈α⊗if␈α∃any␈α⊗←x␈α⊗ε␈α∃←X␈α⊗satisfies␈α∃P(x)"␈α⊗matches␈α⊗the␈α∃last
␈↓"	␈↓ x␈↓¬sentence.␈α⊂"act"␈α⊂is␈α⊂bound␈α∂to␈α⊂"fail",␈α⊂"x"␈α⊂to␈α∂"feature",␈α⊂etc.␈↓]␈α⊂The␈α⊂outer␈α∂structure␈α⊂called␈α⊂for␈α⊂is␈α∂a
␈↓"	␈↓ x␈↓loop through the model's features, terminated when some test fails.
␈↓"∃␈↓ x␈↓CONTRADICTION:␈α⊃[␈↓¬The␈α⊃IDEN␈α⊃part␈α⊃can␈α⊃handle␈α⊃"←x␈α⊂is␈α⊃in␈α⊃contradiction␈α⊃to␈α⊃the␈α⊃set␈α⊃←Y"␈↓.]␈α⊂This
␈↓"	␈↓ x␈↓failure␈αshould␈αoccur␈αprecisely␈αwhen␈αthe␈αmodel␈αdemands␈αsome␈αproperty␈αof␈αa␈αscene␈αfeature␈αwhich␈αthat␈αfeature
␈↓"	␈↓ x␈↓doesn't possess.
␈↓"∃␈↓ x␈↓SCENE:␈α∪[␈↓¬The␈α∪IDEN␈α∪part␈α∪prods␈α∪the␈α∀STRUCTURE␈α∪part,␈α∪which␈α∪already␈α∪understands␈α∪what␈α∀a␈α∪scene
␈↓"	␈↓ x␈↓¬is␈α⊗composed␈α⊗of,␈α∃in␈α⊗particular␈α⊗what␈α∃constraints␈α⊗are␈α⊗imposed␈α∃on␈α⊗the␈α⊗features.␈↓]␈α⊗The␈α∃only
␈↓"	␈↓ x␈↓properties␈αthe␈αscene's␈αfeatures␈α
can␈αpossess␈αare␈αthat␈α
of␈αabsence␈αand␈αpresence.␈α
The␈αuser␈αhas␈αalready␈α
ruled␈αout
␈↓"	␈↓ x␈↓negation and combination of features.
␈↓"∃␈↓ x␈↓TRANSLATE:␈α∂[␈↓¬EFFECTS␈α∂include␈α∂uniting␈α⊂two␈α∂related␈α∂sentences,␈α∂using␈α∂substitution.␈↓]␈α⊂Thus␈α∂the
␈↓"	␈↓ x␈↓predicate␈αshould␈αreturn␈αfailure␈αif␈αthe␈αmodel␈αspecifies␈αthat␈αa␈αfeature␈αbe␈αpresent␈αand␈αit␈αis␈αactually␈αabsent,␈αor␈αif
␈↓"	␈↓ x␈↓the model specifies a feature be absent when it is actually present in the scene.
␈↓"∃␈↓ x␈↓PGMMER:␈α
[␈↓¬WHEN␈α
part␈α
has␈α
a␈α
very␈α
high␈α
rating␈α
now.␈↓]␈α
I␈α
believe␈α
that,␈α
with␈α
LOOP's␈α
help,␈α∞we␈α
understand
␈↓"	␈↓ x␈↓this enough to program it.
␈↓"∃␈↓ x␈↓CODER:␈α∪[␈↓¬EFFECTS␈α∪indicate␈α∩this␈α∪is␈α∪the␈α∪only␈α∩BEING␈α∪who␈α∪should␈α∪be␈α∩active␈α∪now.␈↓]␈α∪Give␈α∪me␈α∩the
␈↓"	␈↓ x␈↓arguments and the body of the code.
␈↓"∃␈↓ x␈↓LOOP:␈α∩[␈↓¬DEMON␈α∩recently␈α⊃set␈α∩up␈α∩just␈α⊃for␈α∩this␈α∩occasion␈α⊃is␈α∩triggered.␈α∩ SPECIALIZATIONS␈α⊃part
␈↓"	␈↓ x␈↓¬now␈α⊂produces␈α∂streamlined␈α⊂version␈α∂of␈α⊂LOOP␈α∂BEING␈α⊂itself.␈↓]␈α∂The␈α⊂arguments␈α∂are␈α⊂two␈α∂pointers:␈α⊂to␈α∂the
␈↓"	␈↓ x␈↓features␈αof␈αa␈αmodel␈αand␈αto␈αthe␈αfeatures␈αof␈αa␈αscene.␈α The␈αouter␈αstructure␈αis␈αto␈αstep␈αthrough␈αthe␈αmodel␈αfeatures
␈↓"	␈↓ x␈↓until the test returns failure. If this never happens, then report success.
␈↓"∃␈↓ x␈↓PGMMER:␈α→[␈↓¬DEMON␈α→triggered␈α_here␈α→also.␈α→COMMENTS␈α→part␈α_contributes␈α→knowledge␈α→of␈α→how␈α_to
␈↓"	␈↓ x␈↓¬handle␈α∂cases␈α∂at␈α∂this␈α∂level.␈↓]␈α∂The␈α∂testing␈α∂function␈α∂must␈α∂check␈α∂each␈α∂model␈α∂feature.␈α∂If␈α∂it␈α∂is␈α⊂one␈α∂which
␈↓"	␈↓ x␈↓must␈αbe␈αpresent␈αin␈αthe␈αobserved␈αscene,␈αthen␈αcheck␈αfor␈αthat␈αpresence.␈αIf␈αit␈αis␈αone␈αwhich␈αmust␈αbe␈αabsent,␈αcheck
␈↓"	␈↓ x␈↓that it is in fact absent.
␈↓"∃␈↓ x␈↓CODER:␈α↔[␈↓¬Summoned␈α⊗by␈α↔its␈α⊗EFFECTS␈α↔part.␈α↔META-CODE␈α⊗part␈α↔suggests␈α⊗using␈α↔COND␈α↔for␈α⊗cases.
␈↓"	␈↓ x␈↓¬COMMENTS␈α∩part␈α⊃warns␈α∩that␈α⊃this␈α∩only␈α⊃works␈α∩if␈α∩case␈α⊃tests␈α∩are␈α⊃disjoint.␈↓]␈α∩I␈α⊃want␈α∩to␈α∩embed␈α⊃the
␈↓"	␈↓ x␈↓tests in a COND. Can a model feature demand itself be both present and absent from a scene?
␈↓"∃␈↓ x␈↓SCENE: [␈↓¬IDEN grabs this. STRUCTURE part indicates that they are disjoint.␈↓] No.
␈↓"∃␈↓ x␈↓CODER: (scribbling)
␈↓"	␈↓ x␈↓α (LAMBDA   (M-FEATURES  S-FEATURES)
␈↓"	␈↓ x␈↓α   (FOR-EVERY  M-FEATURE  IN  M-FEATURES
␈↓"	␈↓ x␈↓α     (COND
␈↓"	␈↓ x␈↓α       ((IS-OF-TYPE  M-FEATURE  MUST-BE-PRESENT)   (MEMBER  M-FEATURE  S-FEATURES))
␈↓"	␈↓ x␈↓α       ((IS-OF-TYPE  M-FEATURE  MUST-BE-ABSENT)    (NOT (MEMBER  M-FEATURE  S-FEATURES)))
␈↓"	␈↓ x␈↓α       (T     ...))))
␈↓"∃␈↓ x␈↓What happens if the model feature doesn't have to be present ␈↓βor␈↓ absent in the scene?
␈↓"∃␈↓ x␈↓␈↓ ↓_CONTRADICTION:␈α≥[␈↓¬IDEN␈α≡part␈α≥recognizes␈α≡relevance,␈α≥WHAT␈α≡part␈α≥easily␈α≡answers␈α≥the
␈↓"	␈↓ x␈↓¬question.␈↓] Then there can be no contradiction. (Blank stare from CODER.)
␈↓"∃␈↓ x␈↓␈↓ ↓_PGMMER:␈α∃[␈↓¬IDEN␈α⊗part␈α∃is␈α∃not␈α⊗anxious,␈α∃but␈α∃CODER's␈α⊗is␈α∃even␈α∃lower-valued.␈α⊗Examines␈α∃the
␈↓"	␈↓ x␈↓¬CODE part of the TRANSLATE BEING.␈↓] He means, the test function should return T.
␈↓"∃␈↓ x␈↓CODER:␈α∞[␈↓¬Regains␈α∞control␈α∞hierarchically.␈α∞A␈α∞REQUISITE␈α∞must␈α∞now␈α∞be␈α∞satisfied.␈↓]␈α∞Got␈α∞it...␈α∞ This␈α∞is
␈↓"	␈↓ x␈↓still very tentative; does anyone see any undesired properties of this piece of code?
␈↓"∃␈↓ x␈↓CASE-SPLIT:␈α∞[␈↓¬IDEN␈α∞part␈α∂responds,␈α∞WHEN␈α∞part␈α∞is␈α∂high␈α∞enough␈α∞to␈α∞take␈α∂control.␈↓]␈α∞That␈α∞call␈α∂on␈α∞IS-
␈↓"	␈↓ x␈↓OF-TYPE␈αis␈αtoo␈αgeneral,␈α
would␈αtake␈αtoo␈αmuch␈αtime.␈α
I␈αknow␈αa␈αgreat␈αdeal␈α
about␈αcase␈αtesting.␈αExplain␈α
to␈αme
␈↓"	␈↓ x␈↓what exactly is needed, and I will replace each IS-OF-TYPE call by a much more efficient one.
␈↓"∧␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε5␈↓␈↓ λ
␈↓ x␈↓␈↓ ↓_GENL-MANAGER:␈α$[␈↓¬IDEN␈α%reluctant;␈α$must␈α$fall␈α%back␈α$on␈α$very␈α%general␈α$management
␈↓"	␈↓ x␈↓¬techniques.␈↓] No one seems to understand you. Go through your bag of "tricks" one by one, in detail.
␈↓"∃␈↓ x␈↓CASE-SPLIT:␈α⊂[␈↓¬WHAT␈α⊂and␈α⊂HOW␈α⊂parts␈α⊂are␈α⊂presented␈α⊂to␈α⊂the␈α⊂pool;␈α⊂hoping␈α⊂for␈α⊃recognition.␈↓]␈α⊂Many
␈↓"	␈↓ x␈↓of␈αthe␈αtricks␈αdeal␈αwith␈αchanging␈αthe␈αinternal␈αrepresentation␈αof␈αsets,␈αto␈αmake␈αsearches␈αon␈αthem␈αmore␈αefficient.
␈↓"	␈↓ x␈↓Is␈α
their␈α
any␈α
constraint␈α
on␈α∞how␈α
the␈α
features␈α
of␈α
a␈α
model␈α∞be␈α
stored?␈α
 (pause)␈α
Well,␈α
the␈α
biggest␈α∞savings␈α
would
␈↓"	␈↓ x␈↓result␈αfrom␈α
replacing␈αIS-OF-TYPE␈αby␈α
the␈αfast␈αfunction␈α
MEMBER.␈αThe␈α
next␈αbiggest␈αgain␈α
would␈αbe␈αto␈α
store
␈↓"	␈↓ x␈↓all the "must be present" features before all the...
␈↓"∃␈↓ x␈↓STRUCTURE-INDUCER:␈α∪[␈↓¬IDEN␈α∪indicates␈α∩very␈α∪high␈α∪relevance.␈α∩META-CODE␈α∪is␈α∪able␈α∪to␈α∩handle
␈↓"	␈↓ x␈↓¬one␈α∩of␈α⊃the␈α∩"tricks"␈α⊃all␈α∩by␈α∩itself.␈↓]␈α⊃Wait.␈α∩I␈α⊃don't␈α∩see␈α∩anything␈α⊃wrong␈α∩with␈α⊃your␈α∩first␈α∩idea.␈α⊃ The
␈↓"	␈↓ x␈↓model's␈α
features␈α
will␈αbe␈α
divided␈α
into␈α
4␈αdisjoint␈α
sets:␈α
those␈αwhich␈α
must␈α
be␈α
present,␈αthose␈α
which␈α
must␈αbe␈α
absent,
␈↓"	␈↓ x␈↓those in both, and those in neither class.
␈↓"∃␈↓ x␈↓SCENE:␈α∩[␈↓¬DEMON␈α∩part␈α∩says␈α∩that␈α∩an␈α∩inefficiency␈α∩was␈α∩just␈α∩overlooked;␈α∩COMPLEXITY␈α∩says␈α∩it␈α⊃is
␈↓"	␈↓ x␈↓¬urgent.␈↓] There can be no features which must be both present and absent.
␈↓"∃␈↓ x␈↓STRUCTURE-INDUCER:␈α
[␈↓¬Continues␈αon␈↓]␈α
So␈αCF␈α
maintains␈α
3␈αdifferently-named␈α
sets␈αof␈α
features␈α
for␈αeach
␈↓"	␈↓ x␈↓model.
␈↓"∃␈↓ x␈↓PGM-MANAGER:␈α
[␈↓¬COMPLEXITY␈α
has␈α
just␈α
risen␈αpast␈α
danger␈α
level.␈↓]␈α
This␈α
seems␈αlike␈α
too␈α
big␈α
a␈α
step␈αto
␈↓"	␈↓ x␈↓go unreported to the user.
␈↓"∃␈↓ x␈↓MESSENGER:␈α⊃[␈↓¬EFFECTS␈α⊃indicate␈α∩this␈α⊃is␈α⊃the␈α⊃only␈α∩BEING␈α⊃to␈α⊃call␈α⊃on␈α∩now.␈↓]␈α⊃I␈α⊃will␈α⊃tell␈α∩him␈α⊃what
␈↓"	␈↓ x␈↓was done. If he asks any questions, I'll relay them back to you.
␈↓"∃␈↓ x␈↓PGM-MANAGER:␈α∩[␈↓¬REQUISITE␈α∩part␈α∪warns␈α∩that␈α∩this␈α∪must␈α∩be␈α∩done␈α∪soon.␈↓]␈α∩We␈α∩must␈α∪have␈α∩proper
␈↓"	␈↓ x␈↓names for the three types of sets.
␈↓"∃␈↓ x␈↓NAMER:␈α⊗[␈↓¬EFFECTS␈α⊗part␈α⊗shows␈α⊗this␈α⊗is␈α⊗the␈α⊗ideal␈α⊗BEING␈α⊗to␈α⊗take␈α⊗over␈α⊗now.␈α⊗CODE␈α↔does␈α⊗the
␈↓"	␈↓ x␈↓¬simple␈α≡initials/mainwords/concat␈α≡operations␈α≡to␈α≡produce␈α≡mnemonic␈α≡labels.␈↓]␈α≡How␈α≡about
␈↓"	␈↓ x␈↓"PRESENT, ABSENT, EITHER"?
␈↓"∃␈↓ x␈↓USER: No. Call them "MUST-BE-PRESENT, MUSTNOT-BE-PRESENT, MAY-BE-PRESENT".
␈↓"∃␈↓ x␈↓NAMER: [␈↓¬Length DEMON awakens␈↓.] Too long. We shall call them just "MUST, MUSTNOT, MAY".
␈↓"∃␈↓ x␈↓WARNER:␈α∪[␈↓¬WHEN␈α∪sees␈α∪relevance,␈α∪META-CODE␈α∪says␈α∪to␈α∪locate␈α∪areas␈α∪which␈α∪will␈α∪possibly␈α∩need
␈↓"	␈↓ x␈↓¬revision.␈↓] All previous accesses to models' features have been located and tagged.  Now what?
␈↓"∃␈↓ x␈↓STRUCTURE-INDUCER:␈α∃[␈↓¬Specialized␈α∃facts␈α∃about␈α∀the␈α∃effect␈α∃of␈α∃substitutions␈α∃on␈α∀earlier
␈↓"	␈↓ x␈↓¬code.␈↓]␈αEach␈αsuch␈αaccess␈αmust␈αeither␈αbe␈αreplaced␈αby␈αAPPEND␈αof␈αthree␈αaccesses,␈αto␈αthe␈αthree␈αnew␈αnames␈αfor
␈↓"	␈↓ x␈↓sets of model features, or else the statement it is in must be replaced by three similar statements.
␈↓"∃␈↓ x␈↓ANALYST:␈α⊂[␈↓¬DEMON␈α∂part␈α⊂wakes␈α∂up␈α⊂at␈α∂this␈α⊂blunder.␈↓]␈α⊂Not␈α∂always:␈α⊂not␈α∂all␈α⊂three␈α∂types␈α⊂of␈α⊂features␈α∂may
␈↓"	␈↓ x␈↓need to be accessed each time.
␈↓"%␈↓ x␈↓␈↓ ↓XConsidering␈α⊃the␈α∩thousands␈α⊃of␈α∩inter-expert␈α⊃transfers␈α∩which␈α⊃preceded␈α∩completion␈α⊃of␈α∩CF,␈α⊃it␈α∩is␈α⊃not
␈↓ x␈↓surprising␈αthat␈α
all␈αthese␈αbrief␈α
excerpts␈αseem␈αsomewhat␈α
defocussed.␈α This␈αprice␈α
is␈αtolerable␈αsince␈α
the␈αBEING
␈↓ x␈↓execution␈α∞times␈α∂are␈α∞small,␈α∂and␈α∞since␈α∞the␈α∂uniform␈α∞structuring␈α∂(which␈α∞causes␈α∞this␈α∂lack␈α∞of␈α∂direction)␈α∞benefits
␈↓ x␈↓more than it hurts (the system actually ␈↓βworks␈↓).
␈↓"	











␈↓"∧␈↓ x␈↓␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α?␈α␈↓ε6␈↓␈↓ λ